package shujia.day05;

/*
    java中提供了一个关键字：static 可以表示一个类多个对象共享一个成员

    可以修饰成员变量和成员方法
    注意事项：
        1、被static修饰的成员称之为类成员，静态成员，不被任何一个对象私自拥有
        2、类成员是可以直接通过类名的方式进行访问获取，优先于对象而存在的
        3、非静态的成员方法既可以访问非静态的成员，也可以访问静态的成员
        4、静态的成员方法只能访问静态的成员


 */

class Demo1{
    int a = 10;
    static int b = 20;

    public void fun1(){
        System.out.println(a);
        System.out.println(b);
    }

    public static void show(){
        System.out.println("这是一个静态成员方法show");
    }

    public static void fun2(){
//        System.out.println(a); // 无法从静态上下文中引用非静态 变量 a
//        System.out.println(b);
        show();
//        fun1();
    }


}

public class PersonDemo {
    public static void main(String[] args) {
//        Demo1.fun1();
//        Demo1 demo1 = new Demo1();
//        demo1.fun1();
//        demo1.fun2();
        Demo1.fun2();


        //创建一个中国人对象
//        Person p1 = new Person("杨洋", 30, "中国");
//        Person p2 = new Person("迪丽热巴", 28, "中国");
//        Person p3 = new Person("薛之谦", 40, "中国");
//        Person p4 = new Person("刘亦菲", 18);
//
////        p1.setNationality("加拿大");
//
//        p1.show();
//        p2.show();
//        p3.show();
//        p4.show();

//        System.out.println(Person.nationality);
////        System.out.println(Person.name);
//        System.out.println(p1.nationality);

        function1();
    }

    public static void function1(){
        System.out.println("hello world!");
    }
}
